#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/wait.h>

char *v[] = {"ls", "-a", "-l", "-1", NULL};
char *e[] = {"a=bbbbbbbbb", "key=valueeeeeeeee", "x=yyyy", NULL};

int main()
{
	extern char** environ;
	pid_t id = fork();
	if (id == 0)
	{
		//execvp("ls", v);
		//execv("/usr/bin/ls", v);
		//execvp("./process", e);
		//execl("/usr/bin/ls", "ls", "-a", "-l", "-1", NULL);
		// execlp("ls", "ls", "-a", "-l", "-1", NULL);
		execle("./process", "./process", NULL, e);
		exit(1);
	}
	printf("child exec\n");
	return 0;
}

// int main()
// {
// 	printf("func : %s\n", __FUNCTION__);
// 	pid_t id = fork();
// 	if(id == 0)
// 	{
// 		//child;
// 		int cnt = 5;
// 		while(cnt--)
// 		{
// 			printf("I am child, pid : %d, cnt : %d\n", getpid(), cnt);
// 			sleep(1);
// 		}
// 		return 1;
// 	}
// 	int status;
// 	while(1)
// 	{
// 		sleep(1);
// 		int n = waitpid(id, &status, WNOHANG);
// 		if(n > 0){
// 			printf("wait done, pid : %d\n", n);
// 			break;
// 		}else if(n == 0){
// 			printf("child is running, do other things....\n");
// 		}else{
// 			printf("waiptid eror\n");
// 		}

// 	}
// 	return 0;
// }
